In general, a storage system to which the technology called RAID (Redundant Arrays of Independent (or Inexpensive) Disks) is adopted comprises a storage device group composed of a plurality of physical storage devices (hereafter referred to as PDEV). The storage device group of this kind is called a RAID group (or a parity group or an ECC (Error-Correcting Code) group) in general.
The storage area of a RAID group is composed of a plurality of sub storage area lines. Each sub storage area line is disposed over a plurality of PDEVs that configure the RAID group, and is composed of a plurality of sub storage areas corresponding to a plurality of PDEVs. Hereafter a sub storage area is referred to as “stripe”, and a line composed of a plurality of stripes is referred to as “stripe line”.
It is known that the RAID has some levels (hereafter referred to as a RAID level).
For instance, RAID5 will be described below. For RAID5, data is dispersed and written to a plurality of PDEVs (such as hard disk drives (HDDs)) that configure the RAID group corresponding to RAID5. More specifically, for instance, the write target data is divided into data having a prescribed size (hereafter referred to as a data unit as a matter of practical convenience), each data unit is divided into a plurality of data elements, and the plurality of data elements is written to a plurality of stripes. Moreover, for RAID5, in order to restore data elements that cannot be written from a PDEV due to a defect that has occurred in the PDEV, the redundant information called “parity” (hereafter referred to as a redundancy code) is generated for one data unit, and the redundancy code is written to the stripe. More specifically, as shown in FIG. 1A, in the case in which the number of PDEVs that configure a RAID group 205 is 4, one stripe line 207 is composed of four stripes corresponding to four PDEVs 201-1 to 201-4. Three data elements A to C that configure a data unit 203 are written to three stripes corresponding to three PDEVs 201-1 to 201-3. A redundancy code D is written to a stripe corresponding to remaining one PDEV.
As shown in FIG. 1B, in the case in which a defect occurs in a PDEV 201-3, the data element C cannot be read. Consequently, a rebuild have to be carried out. As a general method of the rebuild, a collection copy is adopted (for instance, see Patent Citation 1). For the collection copy, the data element C that cannot be read is restored on a cache memory 209 for instance by using the redundancy code D and the other two data elements A and B that configure the data unit 203. The restored data element C is then copied to another PDEV 201S (for instance a spare PDEV).